package com.lailai.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 版本回滚记录实体类
 * 对应数据库表: version_rollbacks
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("version_rollbacks")
public class VersionRollback {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 原版本ID
     */
    @TableField("from_version_id")
    @NotNull(message = "原版本ID不能为空")
    private Long fromVersionId;

    /**
     * 目标版本ID
     */
    @TableField("to_version_id")
    @NotNull(message = "目标版本ID不能为空")
    private Long toVersionId;

    /**
     * 回滚原因
     */
    @TableField("rollback_reason")
    private String rollbackReason;

    /**
     * 回滚时间
     */
    @TableField("rollback_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date rollbackTime;
}
